<?php
require_once "login.php";
require_once 'Model/Evento.php';
require_once 'Model/Categoria.php';
require_once 'DAO/DaoEventos.php';
require_once 'DAO/DaoEmpresa.php';
require_once 'DAO/DaoLocal.php';
require_once 'DAO/DaoLote.php';

class CadastroEventoController {

    private $empresa;

    function CadastroEventoController() {
        if ($this->verificaFormCadastroEvento()) {
            //header("Location: ./meusevento");
        } else {
            if (LoginController::singleton()->estaConectado() && LoginController::singleton()->getTipo() == TIPO_EMPRESA) {
                $this->empresa = LoginController::singleton()->getUsuario();
                require_once 'viewCadastroEvento.php';
            } else {
                require_once 'viewPrincipal.php';
            }
        }
    }

    function verificaFormCadastroEvento() {
        if (!empty($_POST)) {
            if (!empty($_POST['formCadastroEvento'])) {
                $this->cadastraEvento();
                return true;
            }
        }
        return false;
    }

    function cadastraEvento() {
        $de = new DaoEventos();
        $ev = new Evento();
        $demp = new DaoEmpresa();
        $dl = new DaoLocal();
        //$local = $dl->getLocal(1);
        $local = new Local();

        $local->setDescricao($_POST['edtDescricaoLocal']);

        $Dcid = new DaoCidade();
        $local->setCidade($Dcid->getCidade($_POST['edtCidade']));

        $Dend = new DaoEndereco();
        $end = new Endereco();
        $end->setDescricao($_POST['edtEnderecoLocal']);
        $endereco = $Dend->addEndereco($end);
        $local->setEndereco($endereco);

        $local->setNumero($_POST['edtNumero']);

        $bai = new Bairro();
        $Dbai = new DaoBairro();
        $bai->setDescricao($_POST['edtBairro']);
        $bairro = $Dbai->addBairro($bai);
        $local->setBairro($bairro);


        //$localAdd = $dl->addLocal($local);

        $ev->setTitulo($_POST['edtNomeEvento']);
        $ev->setDescricao(($_POST['edtDescricaoEvento']));
        $ev->setEmpresa($demp->getEmpresa($_POST['codEmpresa']));

        $ev->setCategoria(new Categoria($_POST['edtCategoriaEvento'], "a"));
        $ev->setData($_POST['edtData']);
        $ev->setHoraInicio($_POST['edtHoraInicio']);
        $ev->setHoraFim($_POST['edtHoraFim']);
        $ev->setLocal($dl->addLocal($local));

        $codevento = $de->addEvento($ev);
        $ev->setCodigo($codevento);
        if ($codevento != -1) {
            $die = new DaoImagemEvento();
            $imagem = new Imagem();
            $de = new DaoEventos();
            $arquivos = 0 ;
            if ($_FILES['edtImagemEvento']['error'] == UPLOAD_ERR_OK) {
                if (is_uploaded_file($_FILES['edtImagemEvento']['tmp_name'])) {
                    $caminho = "eventos/E$codevento-" . time()."-F$arquivos.jpg";
                    if (move_uploaded_file($_FILES['edtImagemEvento']['tmp_name'], "C:/xampp/htdocs/Versao1/img/".$caminho)) {
                        $imagem->setDescricao("Imagem");
                        $imagem->setObjeto($de->getEvento($codevento));
                        $imagem->setPrincipal('S');
                        
                        $imagem->setImagem($caminho);
                        $die->addImagem($imagem);
                    }
                }
            }
            $imagem->setPrincipal('N');
            for ($i = 0; $i < count($_FILES['edtImagensEvento']['name']); $i++) {
                if ($_FILES['edtImagensEvento']['error'][$i] == UPLOAD_ERR_OK) {
                    if (is_uploaded_file($_FILES['edtImagensEvento']['tmp_name'][$i])) {
                        $arquivos=$arquivos+1;
                        $caminho = "eventos/E$codevento-" . time()."-F$arquivos.jpg";
                        if (move_uploaded_file($_FILES['edtImagensEvento']['tmp_name'][$i], "C:/xampp/htdocs/Versao1/img/".$caminho)) {
                            $imagem->setImagem($caminho);
                            $die->addImagem($imagem);
                        }
                    }
                }
            }
            $cont = 1;
            //Se Falhar aqui tem que remover o Evento
            foreach ($_POST['edtLotesMas'] as $mas) {
                $l = new Lote();
                $l->setEvento($ev);
                $l->setVlrHomem($mas);
                $l->setVlrMulher($_POST['edtLotesFem'][$cont - 1]);
                $l->setNumero($cont);
                $l->setQuantidade($_POST['edtQuantidadeLote'][$cont - 1]);
                $dl = new DaoLote();
                $dl->addLote($l);
                $cont++;
            }
            return true;
        }else{
            return false;
            
        }


//        echo $_POST['edtFimIngresso'][0];
    }

    function getEventosVertical() {
        require_once 'DAO/DaoEventos.php';
        require_once 'DAO/DaoImagemEvento.php';
        $de = new DaoEventos();
        $teste = $de->getEventos(3);
        foreach ($teste as $eve) {
            $die = new DaoImagemEvento();
            $image = $die->getImagemPrincipal($eve->getCodigo());
            if ($image == NULL) {
                $image = new Imagem();
                $image->setImagem(file_get_contents('img/tudohoje.png'));
            }
            ?>
            <a class="text-center" href="/Versao1/evento/<? echo $eve->getCodigo(); ?>">
                <div class="thumbnail" style="margin-bottom: 5px;">
                    <h3><? echo (strlen($eve->getTitulo()) > 43) ? substr($eve->getTitulo(), 0, 40) . '...' : $eve->getTitulo(); ?></h3>
                    <? echo '<img  src="data:image/jpeg;base64,' . base64_encode($image->getImagem()) . '">'; ?>
                </div>
            </a>
            <?
        }
    }

    public function getEmpresa() {
        return $this->empresa;
    }

}
?>
